package com.ruoyi.ftrl.service;

import java.util.List;

import com.ruoyi.ftrl.domain.Dto.DateDto;
import com.ruoyi.ftrl.domain.Dto.TempDto;
import com.ruoyi.ftrl.domain.Weather;

/**
 * 实时天气预报Service接口
 * 
 * @author dihang
 * @date 2024-08-05
 */
public interface IWeatherService 
{
    /**
     * 查询实时天气预报
     * 
     * @param id 实时天气预报主键
     * @return 实时天气预报
     */
    public Weather selectWeatherById(Long id);

    /**
     * 查询实时天气预报列表
     * 
     * @param weather 实时天气预报
     * @return 实时天气预报集合
     */
    public List<Weather> selectWeatherList(Weather weather);

    /**
     * 新增实时天气预报
     * 
     * @param weather 实时天气预报
     * @return 结果
     */
    public int insertWeather(Weather weather);

    /**
     * 修改实时天气预报
     * 
     * @param weather 实时天气预报
     * @return 结果
     */
    public int updateWeather(Weather weather);

    /**
     * 批量删除实时天气预报
     * 
     * @param ids 需要删除的实时天气预报主键集合
     * @return 结果
     */
    public int deleteWeatherByIds(Long[] ids);

    /**
     * 删除实时天气预报信息
     * 
     * @param id 实时天气预报主键
     * @return 结果
     */
    public int deleteWeatherById(Long id);


    /**
     * 定时拉取实时天气预报并数据入库
     */
    public String fetchAndSaveWeather();

    /**
     * 平均室外温度历史曲线(保定市整体地区)
     */
    TempDto selectWeatherListCurve(DateDto dateDto);

    /**
     * 获取昨天、今天以及未来两天的天气预报
     */
    Object selectWeatherListFuture();

    Weather selectWeatherByIdActual();
}
